home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / More Source / C⁄C++ / Tetris Light 1.0 / source / controls.h < prev    next >
Text File  |  1993-07-18  |  2KB  |  61 lines

  1. /**********************************************************************\
  2.  
  3. File:        controls.h
  4.  
  5. Purpose:    This module contains code relating to the controls for
  6.             playing the game.
  7.             
  8.  
  9. ``Tetris Light'' - a simple implementation of a Tetris game.
  10. Copyright (C) 1993 Hoylen Sue
  11.  
  12. This program is free software; you can redistribute it and/or modify
  13. it under the terms of the GNU General Public License as published by
  14. the Free Software Foundation; either version 2 of the License, or
  15. (at your option) any later version.
  16.  
  17. This program is distributed in the hope that it will be useful,
  18. but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20. GNU General Public License for more details.
  21.  
  22. You should have received a copy of the GNU General Public License
  23. along with this program; see the file COPYING.  If not, write to the
  24. Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  25.  
  26. \**********************************************************************/
  27.  
  28. #ifndef controls_H
  29. #define controls_H
  30.  
  31. /*--------------------------------------------------------------------*/
  32.  
  33. /* This structure contains the information about the keys used to
  34.    control the game and the play options chosen by the user.  The key
  35.    scan code is used for processing the keys and the symbol is used for
  36.    showing to the user which key it is. */
  37.  
  38. enum { KEY_LEFT, KEY_ROT, KEY_RIGHT, KEY_DROP, KEY_NUMBER_OF };
  39.  
  40. struct Ctrls {
  41.     unsigned char code[KEY_NUMBER_OF];
  42.     unsigned char sym[KEY_NUMBER_OF];
  43.     Boolean show_next_piece;
  44.     Boolean sound_on;
  45. };
  46.  
  47. extern struct Ctrls ctrls;
  48.  
  49. /*--------------------------------------------------------------------*/
  50.  
  51. extern Boolean controls_init(void);
  52.  
  53. extern void controls_edit(void);
  54.  
  55. extern void controls_load(void);
  56. extern OSErr controls_save(INTEGER pref_file);
  57.  
  58. /*--------------------------------------------------------------------*/
  59.  
  60. #endif
  61.